from match import *


class PromptGenerator:
    def __init__(self, call_for_papers, research_content):
        self.call_for_papers = call_for_papers
        self.research_content = research_content

    def match_analysis(self):
        # 实现征稿信息和研究内容的匹配分析提示
        match_prompt = "征稿信息：{call_for_papers_text}\n研究内容：{research_content_text}\n匹配分析："
        return match_prompt

    def generate_cover_letter(self):
        # 实现生成Cover Letter的逻辑
        # 使用征稿信息和研究内容的内容，以及其他必要信息来生成Cover Letter
        cover_letter_prompt = "尊敬的编辑，我希望通过这封Cover Letter提交我的研究论文。以下是我的研究内容摘要：\n{self.research_content.get_text()}"
        return cover_letter_prompt

    def generate_abstract(self):
        # 实现生成论文摘要的逻辑
        # 使用研究内容等信息来生成论文摘要
        abstract_prompt = "本研究旨在解决{self.research_content.get_title()}中的问题。{self.research_content.get_text()}"
        return abstract_prompt


if __name__ == '__main__':

    # 示例调用
    call_for_papers_example = CallForPapers(
        "Sample Call for Papers", "Some requirements here")
    research_content_example = ResearchContent(
        "Research Content Example", "Some research content here")

    prompt_generator = PromptGenerator(
        call_for_papers_example, research_content_example)

    # 判断匹配度
    print(prompt_generator.match_analysis())

    # 生成Cover Letter
    print(prompt_generator.generate_cover_letter())

    # 生成论文摘要
    print(prompt_generator.generate_abstract())
